% 创建时间：2025-06-22 11:05:53
% 作者：兪馳
clc;
clear;

A = [-7, 2, 0, -1; 1, -4, 2, 1; 2, -1, -6, -1; -1, -1, 0, -4]; % 输入矩阵
syms x t;
A = sym(A);
A1 = funm(sym(A), exp(x*cos(x*t)), x) % 矩阵函数的直接运算
A2 = expm(A * funm(A, t, @cos)) % 较新版本的 MATLAB 还可以使用这个命令

disp('--------------------------------------------------')
% 对矩阵左上角项作合并同类项处理
result1=collect(A1(1, 1), ...
    exp(-6*cos(6*t)))
latex(result1)
disp('--------------------------------------------------')
% 求 e^{A*cos A} 的精确数值解
subs(A1, t, 1) % 该结果与语句 expm(A * funm(A, 'cos')) 得出的一致，但精度高得多